Repository navigation
feat(app-shell): Connect an Agent asks which AI client you use and shows only its steps - #30943
Merged
Merged
Conversation
…ows only its steps Under the endpoint and the SKILL.md download, a client picker (Claude, Codex, Cursor, WorkBuddy, Doubao Work, QwenWork) shows one client's steps; the choice is kept per browser through the console's workspace preference store. The API key form moves to a collapsed 'Advanced: scripts and CI' section at the bottom. New strings in all ten console languages. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L9qibzWZSWpaweunqGyeA9
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L9qibzWZSWpaweunqGyeA9
Contributor
Author
|
domain:ui#2 · os-tesla · session_01L9qibw7DekEe3wx5f3zphf 席位核对 · ACCEPT · 2026-11-06T13:35Z · head
|
This was referenced Nov 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Tesla · project thread
Fixes #30896
Clause-②: no
Metadata-protocol: none
维护者速读
os:pref:connect.client),读不到时回到 Claude。密钥签发逻辑原样未改。回滚即 revert 本 PR。ui/packages/app-shell/src/console/connect/ConnectAgentWidget.tsx(Tabs 与 Collapsible 两处)、connectClientPreference.ts、测试文件末尾新增的 describe。953cfc49的 diff 复核:14 个文件、+448 / −207,无受治理路径。各客户端步骤、片段与提示文字原样搬进Tabs,只渲染所选一个;选择经控制台既有的偏好存储(user范围,os:pref:connect.client)保存,读不到或已不提供的客户端回到 Claude;API 密钥卡整体移入默认折叠的「高级:脚本与 CI」,签发与确认逻辑未改,签发结果状态在父组件,折叠不会丢失。席位核对时更正了 changeset 里新增文案的条数(三条),此外无改动。CI 全绿,Clause-② no,不欠契约复审。同意落地。What changes
ConnectAgentWidget.tsx: under the endpoint card (URL, copy, SKILL.md download — unchanged, on top for everyone), a card asks "Which AI assistant do you use?" and holds aTabspicker from@object-ui/componentswith the six clients in the order the page offered them. Only the chosen client's steps render; every client's steps, snippets and hints are the same text as before. The API key card moves into aCollapsible"Advanced: scripts and CI" at the bottom, closed by default; its mint/confirm logic is unchanged.connectClientPreference.ts(new): the client ids and the reader's choice, declared through the console's one preference store (utils/workspacePreference.ts, imported, not edited),userscope, stored as{"client":"CLIENT_ID","v":1}underos:pref:connect.client. A stored id the page no longer offers, an unreadable record, or storage that throws reads as no choice → Claude. The store already wraps every storage access in try/catch.connectAgent.client.title,connectAgent.client.hint,connectAgent.advanced.title) in all ten console packs. PR feat(i18n)!: the Console's language packs follow the platform locale table, keyed by its tags, and Traditional Chinese (zh-Hant) ships #30902 is not onmain, so they sit in today'szh.ts/pt.ts..changeset/30896-connect-agent-client-picker.md(@object-ui/app-shell,@object-ui/i18n: patch).Tests
ConnectAgentWidget.keyName-13355.test.tsx(the component's one harness file):Acceptance notes
no-explicit-anylint warnings in the file are pre-existing lines that moved.Verification
Head
6111073f(my commit181fd4df+ merge oforigin/main33043bd8, no overlap with this diff).Live measure on a local deployment (showcase with the fresh flag, console Vite dev), admin and member
Widget body height at a 1004 px wide pane:
main0e88208 source): admin 1604 px, member 1604 px. Endpoint card, the Claude card, then Codex, Cursor, WorkBuddy, Doubao Work, QwenWork and the API key card, all open.claude mcp addgone,localStorage['os:pref:connect.client']={"client":"codex","v":1}; reload → Codex still selected; API key name input absent until Advanced is opened, present after.Local tests and gates
pnpm --dir ui exec vitest run packages/app-shell/src/console/connect/→ 9/9 passed (on 181fd4d and again on 6111073)pnpm --dir ui exec vitest run packages/i18n/→ 97 files, 1521 passed, 13 skippedpnpm --dir ui exec vitest run packages/app-shell/src/__tests__/product-neutral-renderer.ratchet.test.ts→ 32/32pnpm --filter @object-ui/i18n run type-check && pnpm --filter @object-ui/app-shell run type-check→ exit 0pnpm check:new-line-citations→ 0 newdispatch-gates --commandsderived 36 commands on 181fd4d; all 36 exit 0 (incl.node scripts/check-sdui-manifest.mjs,pnpm --dir ui exec vitest run scripts/170 files passed);--ranreconciliation: 36 run, 0 NOT-MEASURED, 0 UNRUN.